Fibre Channel is a well known standard for high speed networks. In various implementations it allows speeds of 1-10 Gbit/s. Fibre Channel is usually implemented on fiber optic cable, but the standard may be used with other suitable transmission mediums, such as, for example, twisted pair copper wires.
Fibre Channel is very suitable for networks that require high data transmission rates as well as low latencies, such as storage area networks (SANs). A SAN is a network that connects various devices (usually file servers and storage devices) for the purpose of storing large amounts of data. Another feature of storage area networks is that they provide low level storage. For example, data in SANs is addressed by block and not by some abstract identifier (such as a file/directory name).
The Fibre Channel standard supports several topologies. A topology is a manner in which devices are connected in a network. The simplest supported topology is Point to Point (FC-P2P) which only allows connecting two devices in a network. Switched Fabric (FC-SW) is a complex Fibre Channel topology which requires that one or more switches connect the various devices. The switches route data packets among the devices so that each packet travels to its destination. Thus, the FC-SW topology is very similar to the topology of a switched Ethernet network, for example. However, due to the high throughput speeds of Fibre Channel, FC-SW switches are usually very expensive, as they have to route high numbers of packets.
An Arbitrated Loop (FC-AL) topology allows for the placement of multiple nodes on a Fibre Channel network without requiring the high costs of FC-SW switches. In an arbitrated loop, the devices of a network are connected to a loop and communicate by passing data along the loop. FIG. 1 is an example of an arbitrated loop. There, the network comprises six devices—A, B, C, D, E and F (100-105). If device A is to send a message to device D, for example, device A sends the message to device B. Device B then forwards the message to device C which forwards it to device D.
In order to operate within an FC-AL network, each device must be specifically designed and configured. For example, each device must be able to follow a common and known protocol in order to obtain an address in the network, to determine what the addresses of the other devices in the network are, to determine which information it receives is to be kept and which is to be forwarded on to the next device in the loop, to determine when it can send information without compromising existing transmissions, etc.
A problem with FC-AL networks is that it is difficult to create innovations for these networks. That is the case because in an FC-AL network there is no dedicated networking equipment which could be improved; instead the networking functionality is placed at the devices. And since the networking functionality requires cooperation from all of the devices according to well established protocols, it is harder to make improvements. Each improvement would probably require modification of the protocols, which would make many existing devices obsolete. This may be compared with the case of a FC-SW topology, where improvements may be easily made to the internal structures of the switches as long as they communicate with other devices according to the established protocols.
To remedy this, many companies offer FC-AL dedicated networking elements, such as switches and hubs. These networking elements usually conserve the loop nature of the network by creating the necessary connections between the devices in order to form a loop or loops, but they may also monitor or create communications along the loop or even reshape the loop itself in order to add additional functionality to the network. An example of such a switch is shown in FIG. 2, wherein the devices of FIG. 1 have been connected in an FC-AL network through a switch 200. The network is very similar to the one shown in FIG. 1, however the connections between the devices 201 pass trough the switch. The switch may offer additional features by monitoring the connections, inserting information into the connections and even reforming the connections. For example, the switch may monitor the connections of device A and upon determining that device A is malfunctioning it may connect device B and F directly, thus removing device A from the network.
Additionally, the switch may initially keep all devices disconnected from the network. If the switch detects that a first device requests to communicate with a second device, the switch would then connect the first and second devices in a two device loop, allowing them to communicate, and disconnect the loop when the communication is complete. Thus, by creating multiple two device loops, the switch can provide performance similar to that of a FC-SW network by using a loop based network. An example of a switch used in FC-AL networks is the SWITCH ON CHIP (SOC) provided by EMULEX.
An important characteristic of an FC-AL network is that each device may be critical for communications even if the communications are not directed to or originated by that device. Referring back to FIG. 1, if A sends a message to D, C is neither the recipient nor the initiator of the message, yet C can easily cause the message to not be delivered, by failing to forward the message to D. This should be distinguished from the FC-SW scenario where each device can usually only disrupt communications to which it is a party.
This characteristic presents a significant problem for the reliability of FC-AL networks. Device failures are not uncommon; thus the ability of one failed device to bring down a whole network is worrying. Usually, a device is tested for failure after being connected to the network. In other words, after a device is connected to a network, other devices (or the switch 200) on the network may determine whether the device behaves as expected and alert a user of a failure, if that is the case. However, a malfunctioning FC-AL device may corrupt communications between other devices before it is determined that the device is malfunctioning and thus before the device can be removed form the network.
A further difficulty is presented by the fact that not all FC-AL networks are the same. And while FC-AL devices should adhere to established protocols, some of them adhere to different versions of a protocol, and some of them adhere to only limited parts of the protocol. Thus, a device may be configured to behave so that it operates perfectly in one FC-AL network, but it may cause failure in another FC-AL network.
For the above reasons, the Fibre Channel industry would greatly benefit from a new method or system for preventing a malfunctioning device from disrupting an FC-AL network.